<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .ad{
            position:relative;
            width: 400px;
            height: 400px;
            background-color:plum;
        }
        .ad .close{
            position: absolute;
            top: 5px;
            right: 5px;
            font-size: 36px;
            border: 1px solid rgb(255, 255, 255);
            
        }
    </style>
</head>
<body>
    <div class="bigbox">
        <div class="smbox">
            <p class="xstext">这是最小盒子里的文本标签</p>
            <div class="xsbox">这是最小的盒子</div>
            <!-- <div class="ad">这是最小的盒子</div> -->
            <h3>这是弟弟</h3>
        </div>
        <div class="smbox2">这是小盒子里的第二个div </div>
    </div>
    <div class="ad">
        <div class="close">X</div>
    </div>

    <script>
        //创建新的节点
        let dbox = document.createElement('div'); //元素
        dbox.innerHTML =' 这是追加的内容';
        const sm = document.querySelector(".smbox");
        //将一个节点追加到父节点的所有子节点的末尾
        sm.appendChild(dbox);

        //inSertBefore()方法 ：将一个节点添加到父节点中指定字节点的前面。
        //该方法需要接收两个参数，第1个参数表示要添加的节点，第2个参数表示父节点中指定子节点。
    </script>

    <script>
        
        //获取子节点
        const bbox = document.querySelector('.bigbox');
        console.log(bbox.firstChild);
        console.log(bbox.firstElementChild);
        console.log(bbox.children[1]);
        console.log(bbox.childNodes[0]);

        //获取父节点
        const clo = document.querySelector(".close");
        clo.addEventListener('click',function(){
            console.log(clo.parentNode);
            // console.log(clo.parentElement);
           clo.parentNode.style.display='none'; //设置成隐藏
        },false)

        //获取兄弟节点
        const xs = document.querySelector('.xsbox');
        console.log(xs.previousSibling); 

        // previousSibling : 获取当前节点的上一个兄弟节点
        // nextSiblig: 获取当前节点的下个兄弟节点
        // previousElementSibling: 获取当前元素节点的上一个兄弟元素节点
        // netElementSibling:获取当前元素节点的下一个兄弟元素节点
        
    </script>
    
</body>
</html>